package com.broada.apm.dao;

import java.util.List;

import com.broada.apm.model.TransactionChannel;
import com.broada.apm.model.TransactionType;

public interface TransactionDao {

	public void addTransactionChannel(TransactionChannel transactionChannel);

	public void addTransactionType(TransactionType transactionType);
	
	/**
	 * 删除交易渠道数据<br>
	 * 仅供测试使用
	 * @param appId
	 */
	public void deleteTransactionChannel(TransactionChannel transactionChannel);
	
	/**
	 * 删除交易类型数据<br>
	 * 仅供测试使用
	 * @param appId
	 */
	public void deleteTransactionType(TransactionType transactionType);
	
	public void addServiceTransactionTypeMap(TransactionType transactionType);

	public List<TransactionChannel> getTransactionChannelByAppId(String serviceId);

	public List<TransactionType> getTransactionTypeByAppId(String serviceId);

	public List<TransactionType> getTypeByCondition(TransactionType transactionType);

	public List<TransactionChannel> getChannelByCondition(TransactionChannel transactionChannel);

	public List<String> getServiceIdByL7SubProto(TransactionType transactionType);

	public void updateTransactionChannel(TransactionChannel transactionChannel);

	public void updateTransactionType(TransactionType transactionType);

}
